The use of electronic mail (email) allows users anywhere in the world to communicate with each other over the Internet. In recent years, Internet users have been subjected to a torrent of unwanted email messages. These unwanted messages generally take two forms: 1) messages originated by “spammers” to send advertising or solicitation, or as part of a confidence scheme, and 2) messages sent automatically by worms and other malicious software (malware) attempting to infect additional systems. In both cases, a large proportion of the messages attempt to disguise their true source to frustrate attempts to shut down the spammer, to disguise the identity of the infected system sending the message, or to support a social-engineering goal.
In an effort to reduce or eliminate the transmission of unwanted email messages, various approaches have been proposed to verify the identity of the return address of an email. However, current return address verification approaches suffer from various drawbacks which affect their implementation and usability. One approach is a path-based approach for attempting to verify the identity of the sender by verifying the Internet Protocol (IP) address of the message source. An email recipient performs a Domain Name System (DNS) query to determine what addresses are used for outgoing mail servers of the domain as listed by the sender (e.g., for the email address joesmith@example.com, example.com is the domain). If the message source is not from an outgoing mail server of the domain, it is determined that the identity of the return address is forged.
However, the path-based approach provides an incomplete solution to identity verification of an email. For example, an authorized third party may send email messages on behalf of a business. The third party may be authorized to send emails as an agent of the business, but not from the business' internal network. Businesses do not want to authorize third parties to send emails from their network, so as to not expose their network to the third parties. Furthermore, professional organizations, alumni associations, and other affinity domains may provide email addresses to users. In both of these cases, a recipient may receive an email supposedly coming from one domain, but the path indicates the email actually came from another domain. The path-based approach would not be able to verify the sender of the email in these cases. Moreover, path-based schemes can only identify a sender down to the domain level, not to the individual senders. In general, path-based identification schemes break some of the common ways email is used, and are not always effective in filtering unwanted email messages.
Signature-based identification schemes are also used to verify the sender of an email. Pretty Good Privacy (PGP) and Secure Multipurpose Internet Mail Extensions (S/MIME) are examples of signature-based identification schemes. In general, signature-based schemes verify a message signature embedded in the message. In order to verify the message signature, a public key is retrieved. However, since there are no limitations to the posting of a public key, it is necessary to verify the public key in order to avoid spoofing. PGP provides a system for having people or organizations other than the sender sign the public key.
One way to verify a public key supported by PGP is by transitive trust. Transitive trust verifies a key by having other people act as trusted introducers by signing the key. These people are either known to the recipient, or known by people known to the recipient. However, due to the large scale of the email system, it is not desirable to limit receipt of emails to degrees of separation necessary to encompass all email users. In other words, transitive trust does not scale adequately to a global email system. The email identification problem is characterized by extreme scalability requirements. There are currently on the order of 30 million domains and a much larger number of individual addresses. It is important to preserve the positive aspects of current email infrastructure, which include the ability for anyone to communicate with anyone else without introduction. This contrasts with PGP's use of trusted introducers to vouch for the authenticity of keys. Key management based on introducers would have difficulty scaling to the large number of addresses in use and retain the degree of connectivity that email provides.
Another way for verifying public keys is by using certificates. A third party authority provides an electronic certificate to the domain. In exchange for monetary compensation, the authority performs some form of due diligence to confirm the domain's identity. However, management of the certificates by the domain can be very complex and time consuming. In particular, certificate revocation may be problematic. For example, if an employee leaves their position and is no longer authorized to send email messages using the domain, it is necessary to revoke the certificate. In this case, since the certifying authority is a third party, it would be necessary to contact the certifying authority to revoke the certificate. Considering the large number of employees at many companies, as well as the organizational management of a certifying authority, it is quite complicated to manage certificates.